package com.cly.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.cly.dto.MessageListDto;
import com.cly.entity.Message;
import com.cly.result.JsonRequest;

import java.util.List;

/**
 * 消息记录业务层接口
 *
 * @author 春风能解释
 * <p>
 * 2024-06-06
 */
public interface IMessageService extends IService<Message> {

    /**
     * 批量删除消息记录信息
     *
     * @param ids 消息记录ID列表
     * @return JSON
     */
    JsonRequest<Integer> deleteMessages(List<Long> ids);

    /**
     * 查询用户最后一条消息
     *
     * @param userId 用户ID
     * @return JSON
     */
    JsonRequest<List<Message>> lookMessageLast(Long userId);

    /**
     * 发送消息
     *
     * @param message 消息体
     * @return JSON
     */
    JsonRequest<Integer> sendMessage(Message message);

    /**
     * 查询消息记录
     *
     * @param messageListDto 消息记录查询条件
     * @return JSON
     */
    JsonRequest<List<Message>> lookMessage(MessageListDto messageListDto);
}